home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Source Code / C / Code Resources / Jims CDEFs 1.50 / What's new in v1.50… < prev   
Encoding:
Text File  |  1995-11-13  |  4.4 KB  |  119 lines  |  [TEXT/ttxt]

  1. November  1995
  2.  
  3. What's new in v1.50 of Jim's CDEFs
  4. ------------------------------------------------------------------------------
  5. This is the 6th release of these control definitions.  This is primarily a maintenance
  6. release, no new controls and only minor changes to functionality.
  7.  
  8. ALL
  9. ---
  10. - draw correctly in ports with a background pixPat.
  11.  
  12. MAJOR BUG FIX!!!
  13. ----------------
  14. - 3 controls in the v1.4 release had a memory leak.  This has been corrected.
  15. Affected controls were:
  16.   - PopupMenu
  17.   - Spinner
  18.   - TabPanel
  19.  
  20. GWorlds & memory footprint
  21. --------------------------
  22. - 5 of these CDEFs (3 sliders, spinner & DateTime) use GWorlds for smooth drawing.  Previous releases kept the GWorld for the life of the control - for speed, at the expense of the memory required to keep the GWorld around.  In retrospect, this seems wrong-headed, so I now create & destroy the GWorld each time these controls receive a drawCntl message.
  23.  
  24. Memory savings are dramatic!  The DateTime control went from 8688 bytes to 176 bytes, Slider went from 8944 to 144.
  25.  
  26. Performance seems to be unchanged.
  27.  
  28. Windows with background PICTs
  29. -----------------------------
  30. - the following controls WILL NOT draw correctly if a PICT exists as the background:
  31.     DateTime
  32.     Spinner
  33.     hSlider
  34.     vSlider
  35.     TabPanel
  36.     Popup menu (title only)
  37.  
  38. It would be a fairly complex (and memory intensive) to have these work on a PICT background.  It doesn't seem worth the effort.  Let me know if you disagree.
  39.  
  40. 3D Buttons
  41. ----------
  42. - draws correctly on PICT backgrounds
  43. - radio & check buttons use offscreen GWorlds to avoid title flicker on colored backgrounds
  44.  
  45. Progress Bar
  46. -----------
  47. - correct divide by zero error
  48. - if min==max,  switch to a "barber pole" variant.
  49.  
  50. Date & Time 
  51. -----------
  52. - correctly handle mouse down & drag outside a digits rect
  53. - correctly reset of control with SetControlValue(h, 0) - arrows are hidden
  54. - correctly highlight of digits via SetControlValue(h, n) - arrows are shown
  55. - arrow indicators always have white background
  56.  
  57. GroupBox
  58. ---------
  59. - draws correctly on PICT backgrounds
  60.  
  61. HSlider
  62. ------
  63. - Control no longer picks up port background color - colors are white & black (unless a 'cctb' exists)
  64. - if a 'cctb' exists, honor cTextColor, cThumbColor & cBodyColor
  65. - correctly handle control rect changes from MoveControl
  66.  
  67. Popup Menu
  68. ----------
  69. - data handle was left locked.
  70. - fix window font problem with some Claris & Microsoft apps.
  71. - draws correctly on PICT backgrounds (as long as there is no control title).
  72. - added a new "pseudo" variation code.  Adding popupNoDeleteMenu (0x8000) to controlMax will
  73. cause the CDEF to NOT call DeleteMenu after calling PopupMenuSelect.  This will preserve menu color
  74. information created via calls to SetMCEntries (as opposed to those in 'mctb' resources).  DeleteMenu
  75. will still be called when the control is destroyed.
  76.  
  77. Slider
  78. -----
  79. - no changes
  80.  
  81. Spinner
  82. ------- 
  83. - data handle was left locked.
  84. - arrow indicators always have white background
  85. - arrow indicators dim when at controlMin or controlMax and will not highlight when clicked.
  86.  
  87. Note: I wasn't happy with the appearance of "dimmed" arrows on 1-bit displays, so there is no visual change on 1 bit displays (but they will not highlight in response to a mouse click when at min or max). 
  88.  
  89. Tab Panel
  90. ---------
  91. - data handle was left locked.
  92. - correctly handle mouse down & drag outside a tab
  93. - correctly ignore disabling.   Control does not support disabling, but was not functioning correctly if disabled and then enabled.  
  94.  
  95. Note : If disabled, no visual change is shown (this is deliberate).  I do not recommend disabling it because, if disabled, the Control Manager will not call it and mouse clicks are ignored.  
  96.  
  97. Disabling this control is problematic since doing it properly would mean disabling all controls on a "Tab panel".  
  98.  
  99. This is best done by the calling program, not by this CDEF.
  100.  
  101. Tog Button
  102. ----------
  103. - corrected problem with control highlighting
  104. - use offscreen GWorlds to avoid title flicker on colored backgrounds
  105.  
  106. VSlider
  107. ------
  108. - Control no longer picks up port background color - colors are white & black (unless a 'cctb' exists)
  109. - if a 'cctb' exists, honor cTextColor, cThumbColor & cBodyColor
  110. - removed inline bitmaps, drawing done directly
  111. - correctly handle control rect changes from MoveControl
  112.  
  113. Utility routines
  114. --------------
  115.  
  116. movableModal.c
  117. --------------
  118. - added logic to beep if mouse is clicked in application window.
  119. - changed update logic to allow background pixPats to update correctly.